

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<script type="text/javascript" src="helpman_topicinit.js"></script>

<title>Inherited and Redefined Ports [Enterprise Architect User Guide]</title>

<meta name="keywords" content="Enterprise Architect, Sparx Systems, UML, Manage,Manage Inherited Ports,Manage Redefined Ports,Inherited Port,Inherited Port Manage,Redefined Port,Redefined Port Manage,Port,Port Inherited,Port Redefined">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />

<link type="text/css" href="default.css" rel="stylesheet" />
<style type="text/css">
  A, A:Visited
  {
    color: #00F;
  }

  A:Active, A:Hover
  {
    color: #F00;
  }

  OL
  {
    margin: 5px 0 5px 48px;
  }

  UL
  {
    margin-bottom: 3px;
    margin-top: 0;
  }

  #nsr
  {
    background-color: #D4DFFF;
  }

  #nsr A
  {
    text-decoration: none;
  }

  #mainbody
  {
    padding: 8px;
  }

  .p_BodyText
  {
    padding: 5px 0;
  }
</style>



<style type="text/css" media="screen">
  BODY
  {
    background-color: #FFFFFF;
  }

  #nsr
  {
    padding: 6px 6px 0 6px;
    border-bottom: none;
    vertical-align: top;
    z-index: 2;
    visibility: visible;
    left: 0;
    top: 0;
    position: absolute;
  }

  #mainbody
  {
    left: 0;
    top: 0;
    margin: 0;
    position: absolute;
    padding: 10px;
    overflow: auto;
    height: 100%;
    z-index: 1;
    background-repeat: no-repeat;
    background-position: bottom right;
    background-attachment: fixed;
  }
</style>

<style type="text/css" media="print">
  #nsr
  {
    visibility: none;
  }

  #mainbody
  {
    overflow: visible;
  }
</style>
<script type="text/javascript" language="JavaScript" src="nonscroll.js"></script>

</head>
<body scroll="no">

<div id="page">



        <div id="content">
          <div id="content-inner">
          



  
          <div id="nsr">
            <table border="0" cellspacing="0" cellpadding="4" width="100%">
              <tr valign="top">
                <td align="left">
  


                  <p class="p_Heading1"><span class="f_Heading1">Inherited and Redefined Ports</span></p>



  
                </td>
                <td align="right">
                  <a href="introduction.htm" onmouseover="document.images.main.src='button_main_h.gif'" onmouseout="document.images.main.src='button_main.gif'">
                    <img name="main" src="button_main.gif" border=0 alt="Return to Introduction">
                  </a>&nbsp;
    
                  <a href="addingaporttoanelement.htm" onmouseover="document.images.prev.src='button_prev_h.gif'" onmouseout="document.images.prev.src='button_prev.gif'">
                    <img name=prev src="button_prev.gif" border=0 alt="Previous page" />
                  </a>&nbsp;
    
    
    
                  <a href="primitive.htm" onmouseover="document.images.next.src='button_next_h.gif'" onmouseout="document.images.next.src='button_next.gif'">
                    <img name=next src="button_next.gif" border=0 alt="Next page" />
                  </a>
    
    
                </td>
              </tr>
            </table>
          </div>
          <div id="mainbody">
  


                <p class="p_BodyText"><span class="f_BodyText">A <a href="port.htm">Port</a> is a </span><span class="f_BodyText" style="font-style: italic;">redefinable</span><span class="f_BodyText"> and </span><span class="f_BodyText" style="font-style: italic;">re-useable</span><span class="f_BodyText"> property of a composite classifier. So, as for attributes, any Class can inherit Ports from its parent and realized interfaces. If you have an inheritance hierarchy with Ports defined in the parent Classes, when you open the </span><span class="f_UIControl">Embedded Elements</span><span class="f_BodyText"> window the inherited Ports and their named owners are listed there.</span></p>
<p class="p_BodyText"><span class="f_BodyText">It is possible to expose, for design purposes, an inherited Port (that is, the child Class is re-using the parent Port). In this case, Enterprise Architect creates a clone of the re-used Port and marks it as read-only in the child Class. This is convenient for modeling Port interactions in child Classes where the Ports are defined in the parent elements.</span></p>
<p class="p_BodyText"><span class="f_BodyText">It is also possible to redefine a Port in a child Class, so that the name is the same but the child is a modifiable clone of the original. This is useful where a child Class places additional restrictions or behavior on the Port. The </span><span class="f_UIControl">Embedded Elements</span><span class="f_BodyText"> window enables you to highlight an inherited Port and mark it as </span><span class="f_BodyText" style="font-style: italic;">redefined;</span><span class="f_BodyText"> this creates a new Port on the child Class, which is editable but still logically related to the initial Port.</span></p>
<p class="p_BodyText"><span class="f_BodyText">The </span><span class="f_UIControl">Embedded Elements</span><span class="f_BodyText"> window below illustrates Port inheritance. The Port </span><span class="f_BodyText" style="font-style: italic;">removableHD</span><span class="f_BodyText"> is owned by the child Class. The Ports </span><span class="f_BodyText" style="font-style: italic;">eth0</span><span class="f_BodyText"> and </span><span class="f_BodyText" style="font-style: italic;">USB</span><span class="f_BodyText"> are owned by the </span><span class="f_BodyText" style="font-style: italic;">Computer</span><span class="f_BodyText"> Class. The Port </span><span class="f_BodyText" style="font-weight: bold;"> </span><span class="f_BodyText" style="font-style: italic;">firewire</span><span class="f_BodyText"> has been added to </span><span class="f_BodyText" style="font-style: italic;">PC</span><span class="f_BodyText">. If any of the inherited Ports are made visible, they are considered re-use Ports and appear on the child in read-only format. Using the </span><span class="f_BodyText" style="font-weight: bold;">Redefine</span><span class="f_BodyText"> button, the inherited Port can be copied down and made writeable.</span></p>
<p class="p_TextIndentedL2"><img src="embeddedelementdialog2.png" width="553" height="363" border="0" alt="EmbeddedElementDialog2"></p>




            </div>
          </div>
        </div>



</div>


</body>
</html>
